package com.gopay.common.domain.bank.yspay.expay.pay;

import com.gopay.common.domain.bank.ExPayBaseMessage;
import com.thoughtworks.xstream.annotations.XStreamOmitField;

import java.io.Serializable;

/**
 * 银盛代扣支付对象
 *
 * @author wangxintao
 * @YspayAdPayMessage.java
 */
public class YspayAdPayMessage extends ExPayBaseMessage implements Serializable {

    private static final long serialVersionUID = 0;

    // <head>
    // 版本号
    @XStreamOmitField
    protected String ver;
    // 发起方交易用户号
    @XStreamOmitField
    protected String src;
    // 报文编号
    @XStreamOmitField
    protected String msgCode;
    // 发送时间
    @XStreamOmitField
    protected String time;
    // </head>

    // <body><order>
    // 订单号
    @XStreamOmitField
    protected String orderNo;
    // 业务代码
    @XStreamOmitField
    protected String busiCode;
    // 商户日期
    @XStreamOmitField
    protected String shopDate;
    // 币种
    @XStreamOmitField
    protected String cur;
    // 金额 单位：分
    @XStreamOmitField
    protected String orderAmount;
    // 订单说明
    @XStreamOmitField
    protected String note;
    // 后台回调URL
    @XStreamOmitField
    protected String bgUrl;
    // </order>

    // <payee>
    // 商户号
    @XStreamOmitField
    protected String userCode;
    // 商户名
    @XStreamOmitField
    protected String name;
    // </payee>

    // <payer>
    // 银行账户类型
    @XStreamOmitField
    protected String bankAccountType;
    // 银行名称
    @XStreamOmitField
    protected String bankName;
    // 银行账号
    @XStreamOmitField
    protected String accountNo;
    // 银行帐号户名
    @XStreamOmitField
    protected String accountName;
    // 开户行所在省份
    @XStreamOmitField
    protected String province;
    // 开户行所在城市
    @XStreamOmitField
    protected String city;
    // 银行行号
    @XStreamOmitField
    protected String bankCode;
    // 附加数据
    @XStreamOmitField
    protected String extraData;
    // </payer>

    //手机
    @XStreamOmitField
    protected String mobile;

    // 交易流水
    @XStreamOmitField
    protected String tradeSN;

    @XStreamOmitField
    protected String msgId;

    @XStreamOmitField
    protected String check;

    @XStreamOmitField
    protected String msg;

    @XStreamOmitField
    protected String code;

    // 业务状态 00成功/50处理中/99失败
    @XStreamOmitField
    protected String busiState;

    // 参考手续费 单位：分
    @XStreamOmitField
    protected String fee;

    // 备注
    @XStreamOmitField
    protected String remark;

    // 状态
    @XStreamOmitField
    protected String state;

    @XStreamOmitField
    protected boolean flag;

    // 收款方用户号
    @XStreamOmitField
    protected String payeeUserCode;

    // 企业、客户代收协议号
    @XStreamOmitField
    protected String protocolNo;

    // 记账日期
    @XStreamOmitField
    protected String accountDate;

    // 对账单内容
    @XStreamOmitField
    protected String adjustContent;

    // 对账单标识
    @XStreamOmitField
    protected boolean adjustFlag;

    // 银行返回报文
    @XStreamOmitField
    protected String bankPost;

    public String getVer() {
        return ver;
    }

    public void setVer(String ver) {
        this.ver = ver;
    }

    public String getSrc() {
        return src;
    }

    public void setSrc(String src) {
        this.src = src;
    }

    public String getMsgCode() {
        return msgCode;
    }

    public void setMsgCode(String msgCode) {
        this.msgCode = msgCode;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getBusiCode() {
        return busiCode;
    }

    public void setBusiCode(String busiCode) {
        this.busiCode = busiCode;
    }

    public String getShopDate() {
        return shopDate;
    }

    public void setShopDate(String shopDate) {
        this.shopDate = shopDate;
    }

    public String getCur() {
        return cur;
    }

    public void setCur(String cur) {
        this.cur = cur;
    }

    public String getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(String orderAmount) {
        this.orderAmount = orderAmount;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getBgUrl() {
        return bgUrl;
    }

    public void setBgUrl(String bgUrl) {
        this.bgUrl = bgUrl;
    }

    public String getUserCode() {
        return userCode;
    }

    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBankAccountType() {
        return bankAccountType;
    }

    public void setBankAccountType(String bankAccountType) {
        this.bankAccountType = bankAccountType;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getAccountNo() {
        return accountNo;
    }

    public void setAccountNo(String accountNo) {
        this.accountNo = accountNo;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public String getExtraData() {
        return extraData;
    }

    public void setExtraData(String extraData) {
        this.extraData = extraData;
    }

    public String getMsgId() {
        return msgId;
    }

    public void setMsgId(String msgId) {
        this.msgId = msgId;
    }

    public String getCheck() {
        return check;
    }

    public void setCheck(String check) {
        this.check = check;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getTradeSN() {
        return tradeSN;
    }

    public void setTradeSN(String tradeSN) {
        this.tradeSN = tradeSN;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getBusiState() {
        return busiState;
    }

    public void setBusiState(String busiState) {
        this.busiState = busiState;
    }

    public String getFee() {
        return fee;
    }

    public void setFee(String fee) {
        this.fee = fee;
    }

    public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getPayeeUserCode() {
        return payeeUserCode;
    }

    public void setPayeeUserCode(String payeeUserCode) {
        this.payeeUserCode = payeeUserCode;
    }

    public String getProtocolNo() {
        return protocolNo;
    }

    public void setProtocolNo(String protocolNo) {
        this.protocolNo = protocolNo;
    }

    public String getAccountDate() {
        return accountDate;
    }

    public void setAccountDate(String accountDate) {
        this.accountDate = accountDate;
    }

    public String getAdjustContent() {
        return adjustContent;
    }

    public void setAdjustContent(String adjustContent) {
        this.adjustContent = adjustContent;
    }

    public boolean isAdjustFlag() {
        return adjustFlag;
    }

    public void setAdjustFlag(boolean adjustFlag) {
        this.adjustFlag = adjustFlag;
    }

    public String getBankPost() {
        return bankPost;
    }

    public void setBankPost(String bankPost) {
        this.bankPost = bankPost;
    }

    @Override
    public String toString() {
        return "YspayAdPayMessage{" +
                "ver='" + ver + '\'' +
                ", src='" + src + '\'' +
                ", msgCode='" + msgCode + '\'' +
                ", time='" + time + '\'' +
                ", orderNo='" + orderNo + '\'' +
                ", busiCode='" + busiCode + '\'' +
                ", shopDate='" + shopDate + '\'' +
                ", cur='" + cur + '\'' +
                ", orderAmount='" + orderAmount + '\'' +
                ", amount='" + orderAmount + '\'' +
                ", note='" + note + '\'' +
                ", bgUrl='" + bgUrl + '\'' +
                ", userCode='" + userCode + '\'' +
                ", name='" + name + '\'' +
                ", bankAccountType='" + bankAccountType + '\'' +
                ", bankName='" + bankName + '\'' +
                ", accountNo='" + accountNo + '\'' +
                ", accountName='" + accountName + '\'' +
                ", province='" + province + '\'' +
                ", city='" + city + '\'' +
                ", bankCode='" + bankCode + '\'' +
                ", extraData='" + extraData + '\'' +
                ", mobile='" + mobile + '\'' +
                ", tradeSN='" + tradeSN + '\'' +
                ", msgId='" + msgId + '\'' +
                ", check='" + check + '\'' +
                ", msg='" + msg + '\'' +
                ", code='" + code + '\'' +
                ", busiState='" + busiState + '\'' +
                ", fee='" + fee + '\'' +
                ", remark='" + remark + '\'' +
                ", state='" + state + '\'' +
                ", flag=" + flag +
                ", payeeUserCode='" + payeeUserCode + '\'' +
                ", protocolNo='" + protocolNo + '\'' +
                ", bankPost='" + bankPost + '\'' +
                '}';
    }
}
